---生成全局唯一订单号
return function (sid)
    local cid = 0
    return function ()
        -- =====================
        -- 字段分布说明（总长度16位）：
        -- [1-10位] 反转时间戳（保证降序）
        -- [11-14位] 自增序列（1~9999循环）
        -- [15-16位] 线路序列
        -- =====================

        -- 自增序列处理（1~9999循环）
        cid = cid or 0
        cid = cid < 9999 and (cid + 1) or 1

        -- 获取当前时间戳（秒级）
        local now = os.time()

        local time_part = now * 1000000 -- 左移6位

        -- gmsv线路部分处理
        local cid_part = cid * 100

        -- 组合订单号
        return time_part + cid_part + sid
    end
end
